home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Game-Power
/
Amiga Game-Power.iso
/
power games ii
/
galactic worm
/
corewars
/
anleitung
/
anhang
< prev
next >
Wrap
Text File
|
1994-05-20
|
19KB
|
543 lines
Anhang A: Allgemeines
_____________________
A.1 Bezugsadressen (Aenderungen vorbehalten)
____________________________________________
Probleme mit Core Wars, Fehlermeldungen, Verbesserungsvorschläge:
Unicorn Systems
Bernstrasse 67
CH-4852 Rothrist
Core War Standard:
Mark Clarkson
8619 Wassall Street
Wichita
Kansas 67210-1934, USA
Die "Core War Standard" ist eine ca. 30 Seiten umfassende Dokumentation
der Redcode-Sprache. Dort sind alle Regeln zum Aufbau von Redcode -
Programmen und zur Beschaffenheit von MARS-Systemen enthalten. Gegen
eine Gebühr von $4.-- kann die Dokumentation bei obiger Adresse bestellt
werden.
A.2 Quellenverzeichnis
______________________
A. K. Dewdney: Computer-Kurzweil
(Spektrum der Wissenschaft August 1984, Mai 1985, April 1987)
Robert Martin: The CORE WARS system for the Macintosh
(Dokumentation eines MARS-Systems für den Apple Macintosh)
Mark Clarkson: Core War Standard
(Genaue Dokumentation des Aufbaus von Redcode und MARS)
A.3 Installieren des Programmes
_______________________________
Core Wars ist Shareware, es darf also ohne Weiteres weitergegeben und
kopiert werden. Es muss aber beachtet werden, dass Core Wars
verschiedene Dateien und Programme benötigt, um fehlerfrei zu laufen.
Das Kopieren auf einen anderen Datenträger wird am Einfachsten über das
CLI vorgenommen. Das Aufrufen und die Bedienung des CLI sind in der
Bedienungsanleitung zum Amiga und im "Amiga DOS Manual" genau
beschrieben. Kopieren Sie mit dem CLI-Befehl "copy" alle benötigten
Dateien in das richtige Verzeichnis auf der neuen Diskette oder der
Festplatte.
Core Wars ist von uns in zwei Versionen in Umlauf gebracht worden. Die
eine besteht aus einer autostartfähigen Diskette mit allen nötigen
Verzeichnissen und Dateien. Die zweite Version besteht aus einem
einzigen Verzeichnis auf einer handelsüblichen Public Domain Diskette
(Fred Fish, FAUG, Kickstart, AUGE 4000, AUGS u.s.w.). Um aus den Files
in einem solchen Verzeichnis eine autostartfähige Core Wars Diskette
herzustellen, müssen verschiedene Vorarbeiten geleistet werden. Auf
einer lauffähigen Core Wars Diskette sollten die unten aufgeführten
Verzeichnisse und Dateien vorhanden sein, wobei die mit einem Stern (*)
gekennzeichneten Dateien vom Core Wars System unbedingt benötigt werden.
Am Einfachsten wird dazu eine original Workbench Diskette (ab Version
1.2) kopiert und auf der Kopie werden dann die überflüssigen Dateien
gelöscht.
*CoreWars Das Hauptprogramm.
*LiesMich Dieser Text hier.
Redcode (Dir) Für eigene Programme vorgesehen.
c (Dir) CLI-Befehle und Utilities der Workbench
LoadIFF Anzeigen von Bildern im IFF-Format (siehe Anleitung).
CorePic Titelbild von CoreWars (nur bei Autostart sichtbar).
Beispiele (Dir) Ein Verzeichnis mit einigen Programmbeispielen.
Mice Siegerprogramm Welmeisterschaft 1986
Mausefalle Schlägt Mice!
Gnom \
Knirps > weitere Beispielprogramme, siehe Anleitung.
Chang /
*System (Dir) Einige Hilfsprogramme der Workbench.
*Einstellungen Einstellungsdatei für den Core Wars Editor.
*View Anzeigen von Textdateien (z.B. diesen Text).
*Fonts (Dir) Zeichensätze, die von Core Wars benötigt werden.
*Diamond.font \
*Diamond (Dir) > Zeichensatz 'Diamond 12'
*12 /
Anleitung (Dir) Enthält Die Anleitung in Form von Textdateien.
Einleitung
KapitelI
KapitelII
KapitelIII
Anhang
*libs Betriebssystem: Funktionsbibliotheken.
*icon.library
*diskfont.library
Die Datei "Einstellungen" im Verzeichnis "system" wird beim ersten Start
des Redcode Editors automatisch eingelesen. Sollte sie nicht gefunden
werden, kommen die Standardeinstellungen zur Anwendung.
Sobald Sie sich ein Redcode-Programm durch einen Doppelklick auf sein
Icon ansehen wollen, wird dazu das Programm "View" verwendet. Wenn
"View" nicht im Verzeichnis "system" zu finden ist, gibt das
Betriebssystem in der Titelzeile der Workbench eine Fehlermeldung aus,
was aber keine weiteren Folgen hat.
A.4 Die Hilfsprogramme
______________________
A.4.1 View
----------
Dieses Programm befindet sich auf der Programmversion mit der
startfähigen Diskette im Verzeichnis "System". Es dient dazu,
Textdateien (z.B. den Quelltext eines Redcode-Programmes) auf dem
Bildschirm anzuzeigen. Grundsätzlich kann dies mit einer beliebigen
Kombination von drei Optionen geschehen: Wortweise, Zeilentrennung und
Escape. Diese Optionen werden beim Aufruf des Programmes angegeben: Im
CLI durch die Buchstaben w, t und e mit vorangestelltem Plus- oder
Minuszeichen (+ oder -), in der Workbench durch die sogenannten
"ToolTypes" des Icons der Textdatei.
Die "Tool Types" sind eine Art Botschaft, die an das Programm übergeben
werden. Beispielsweise wird die Escape-Option mit dem Eintrag
"ESCAPE=EIN" ein- und mit dem Eintrag "ESCAPE=AUS" ausgeschaltet. Sie
können die "Tool Types" einfach verändern: Wählen Sie ein Icon eines
Textes mit einem Mausklick an (kein Doppelklick). Dann rufen Sie in der
Workbench den Menupunkt "Info" auf. Im anschliessend erscheinenden
Info-Fenster können Sie bestehende Tool Types ändern und mit ADD neue
hinzufügen.
Die Zusammenfassung der Modi und die Art und Weise, wie diese über die
ToolTypes und das CLI ein- oder ausgeschaltet werden:
Wortweise-Modus:
Tool Type : WORTWEISE=EIN WORTWEISE=AUS
CLI : +w -w
Standard : Ausgeschaltet
Wörter, die über das Ende einer Bildschirmzeile hinausgehen würden,
werden ganz auf die nächste Zeile übertragen. So kann ein Text, der nur
aus einer einzigen Zeile besteht, besser gelesen werden. Diese Option
ist bei der Anzeige eines Quelltextes nicht notwendig, weil der Redcode
Editor keine Zeilen zulässt, die länger als 77 Zeichen sind.
Zeilentrennungs-Modus:
Tool Type : ZEILENTRENNUNG=EIN ZEILENTRENNUNG=AUS
CLI : +t -t
Standard : Ausgeschaltet
Wenn eine Linie des Textes länger als eine Bildschirmzeile ist, wird sie
abgeschnitten. Normalerweise (mit ausgeschalteter Option) wird der Rest
einer überlangen Linie auf der nächsten Zeile des Bildschirmes
angezeigt.
Escape-Modus:
Tool Type : ESCAPE=EIN ESCAPE=AUS
CLI : +e -e
Standard : Ausgeschaltet
Es ist möglich, in einen normalen Text bestimmte Steuerzeichen
einzusetzen, mit denen die Farbe von einzelnen Buchstaben und Wörtern
geändert werden kann. Wenn der ESCAPE-Modus eingeschaltet ist, werden
diese Zeichen korrekt umgesetzt und angezeigt. Weil der Redcode Editor
keine Steuerzeichen unterstützt, ist diese Option normalerweise
ausgeschaltet.
Wenn "View" läuft und ein Text angezeigt wird, können Sie der untersten
Zeile, der Statuszeile, verschiedene Informationen über den Text
entnehmen: Die Länge der Datei, die augenblickliche Position im Text und
eine Angabe in Prozent. Letztere besteht aus zweien durch einen
Querstrich getrennten Zahlen: Sie geben die Position des auf dem
Bildschirm angezeigten Textausschnittes im Gesamttext an. Die erste
Zahl steht für das Zeichen, das sich ganz links oben befindet, die
zweite Zahl für das letzte (unterste) Zeichen. Die Anzeige des Textes
kann über folgende Tastaturkommandos gesteuert werden:
o Positionieren auf Textbeginn Backspace
Taste 'r'
o Nächste Bildschirmseite anzeigen Space
Taste 'v'
o Positionieren auf Zeichen durch Eingabe Taste 'z'
der Nummer des Zeichens
o Positionieren auf Zeichen durch Eingabe Taste 'p'
in Prozent
o Hilfeseiten anzeigen Taste 'h'
o View abbrechen Taste 'q'
Taste 'Esc'
Das Programm kann auch durch einen Mausklick in das Schliessgadget des
Textfensters (linke obere Ecke) verlassen werden. Wenn Sie die
Kommandos 'p' oder 'z' verwenden, müssen Sie anschliessend in der
Statuszeile eine Zahl eingeben. Wirksam sind die Tasten 0 bis 9 und
die Backspace-Taste, welche die letzte eingegebene Ziffer löscht. Bei
Prozentangaben können Sie Zahlen von 0 bis 100 und bei Zeichennummern
von 0 bis zur Textlänge eingeben.
Ein Beispiel zum starten über das CLI: "View +e +w Anleitung" zeigt
einen Text namens "Anleitung" im Escape- und im Wortweise-Modus an.
Weil normalerweise alle Optionen unwirksam sind, muss hier der
Zeilentrennungs-Modus nicht mit "-t" explizit ausgeschaltet werden.
A.4.2 LoadIFF
-------------
Dieses Programm liest ein Bild von Diskette ein und zeigt es auf dem
Bildschirm an. "LoadIFF" verträgt sowohl Bilder in den normalen
Auflösungen als auch im HAM-Modus des Amiga. Alle Bilder können mit dem
bekannten Colorcycling-Effekt (Farbrollen) angezeigt werden. Beim
Aufrufen des Programmes kann angegeben werden, wie lange das Bild auf
dem Bildschirm stehen bleiben soll. Der Mauszeiger verschwindet während
der Anzeige und erscheint nach dem Beenden des Programmes wieder.
LoadIFF kann nur vom CLI aus mit dieser Syntax aufgerufen werden:
LoadIFF <Name> <Delay> [H] [n]
Die Inhalte der spitzen Klammern sind notwendig, die Inahlte der eckigen
Klammern sind wahlweise anzugeben. Die Bedeutung der Bezeichner:
Name Das Bild, das angezeigt werden soll.
Delay Dauer, welcher der das Bild auf dem Bildschirm stehen
bleibt. Die Zeit wird in 1/50 - Sekunden angegeben: 500
würde das Bild 10 Sekunden lang anzeigen.
H Das Bild wird im HAM-Modus angezeigt.
n Eine Zahl von 0 bis 7, die die Art des Colorcycling
bezeichnet. Es ist möglich, drei Bereiche aller Farben
gleichzeitig zu Rollen. Die Kombination der Bereiche wird
durch die Zahl bestimmt: 0 = Kein Farbrollen, 1 = Bereich 1,
2 = Bereich 2, 3 = Bereich 1 und 2, 4 = Bereich 3,
5 = Bereich 1 und 3, 6 = Bereich 2 und 3, 7 = alle drei
Bereiche. Dies entspricht übrigens den Bits, die durch
die Zahl gesetzt werden, wenn sie im binären Zahlensystem
dargestellt wird.
LoadIFF befindet sich auf der Originaldiskette im Verzeichnis "c", das
aber auf der Workbench nicht sichtbar ist. Das Programm ist zu 100% in
Assembler geschrieben und deshalb sowohl sehr schnell als auch sehr kurz
(etwa 3 kByte).
A.5 Einstellungen
_________________
A.5.1 Standardwerte
___________________
o Tabulatorsprung 16 Zeichen
o Unterscheidung von Gross/Kleinschrift beim Suchen Eingeschaltet
o Aufblitzen des Bildschirms nach dem 66. Zeichen Eingeschaltet
o Makros der Funktionstasten f1 bis f10 Alle Redcode-
Befehle
o Makros der Funktionstasten F1 bis F10 Keine
Wenn beim ersten Aufrufen des Editors von Core Wars die
Einstellungsdatei namens "Einstellungen" im Verzeichnis "System" der
Startdiskette nicht gefunden wird, werden die aufgeführten Standardwerte
wirksam.
A.5.2 Aufbau der Einstellungsdatei
__________________________________
Es handelt sich um eine Textdatei, die durch ein Erkennungs- wort
gekennzeichnet wird. Die folgende Tabelle zeigt den Aufbau einer
solchen Textdatei:
o Erkennungswort "Redcode Editor 1988 by Roger Meier
& Patric Hofmann"
o Makro-Liste Eine Liste aller 20 Makros, wobei
jedes auf einer neuen Zeile beginnen
muss. Eine nicht belegte Funktions-
taste ist durch eine Leerzeile ge-
kennzeichnet.
o Tabulatorsprung Eine dreistellige Zahl, mit voran-
gestellten Leerzeichen aufgefüllt.
o Gross/Klein und Glocke Eine zweistellige Zahl, die aus den
Ziffern 0 und 1 Besteht. 0 = Aus, 1 =
Ein. Die erste Ziffer steht für die
Gross/Klein Unterscheidung, die zwei-
te für die Glocke (bzw. den Bild-
schirmblitz).
Anhang B: Index
_______________
B.1 Fachbegriffe
________________
Adresse:
Sie bestimmt eine Position im Speicherfeld des MARS-Systems. Jede Zelle
des Speicherfeldes kann durch ihre Adresse gelesen und verändert werden.
Jeder Programmzeiger eines Kampfprogrammes enthält die Adresse der
nächsten auszuführenden Anweisung.
Adressierungsart, Adressierungsmodus:
Bestimmt die Vorgehensweise, nach der ein Argument eines Befehls
interpretiert wird. Bei Redcode erlaubt vier verschiedene
Adressierungsarten, die durch die Zeichen #, $, @ und < angegeben
werden: Unmittelbar, direkt, indirekt und indirekt-dekrement.
Anweisung:
Ein Redcode-Befehl in einem Kampfprogramm mit zwei Argumenten und den
Adressierungsarten der Argumente.
Argument:
Die Angaben in einer Anweisung, auf welche Speicherzelle oder -zellen
sich der Befehl der Anweisung bezieht.
Assembler:
Uebersetzt den Quelltext in einen von MARS ausführbaren Objektcode.
Ausdruck:
Ein aus mehreren Symbolen bestehendes Argument eines Redcode Befehls.
Ausdrücke können nur vom Assembler verstanden und übersetzt werden.
Backspace:
Die Taste ganz rechts oben auf der Tastatur mit dem aufgedruckten Peil
nach links. Sie dient normalerweise zum Löschen des zuletzt
eingegebenen Zeichens.
Datei:
Eine Sammlung von Zeichen, die sich in einem Massenspeicher (Diskette,
RAM-Disk) befindet und die zur Verarbeitung von einem Programm
eingelesen werden kann. Eine Datei kann ein Text sein, sie kann jedoch
auch aus Sonder- und Steuerzeichen bestehen.
Daten:
Im MARS-Speicherfeld können sich Anweisungen von Kampfprogrammen sowie
Datenwerte befinden. Der Unterschied besteht darin, dass ein Datenwert
(DAT) nicht von einem Programm ausgeführt werden kann. Sollte dies doch
versucht werden, gilt das betreffende Programm als zerstört.
Editor:
Der Teil des Core Wars Programmes auf dem Amiga, mit dem die
Redcode-Programme geschrieben werden können. Der Editor speichert die
Kampfprogramme als Textdatei (siehe unter Quellcode) in einem
Massenspeicher wie Diskette oder RAM-Disk ab.
File:
Siehe unter Datei
Gadget:
Um die Eingabe eines Programmnamens über die Tastatur abzuschliessen,
stehen oft zwei Gadgets zur Verfügung. Dies sind kleine umrahmte Kästen
mit einer Aufschrift oder einem Sinnbild. Durch einen Mausklick in
dieses Kästchen kann die Eingabe dem Programm übergeben oder der Vorgang
abgebrochen werden.
Kampfprogramm:
Ein Redcode-Programm. Es dient einzig und allein dazu, ein gegnerisches
Kampfprogramm zu beschädigen und so den Kampf zu gewinnen.
MARS:
Eine Abkürzung für Memory Array Redcode Simulator. Mit anderen Worten
der Begriff für das System, durch das ein Redcode-Programm ausgeführt
werden kann. Beim Amiga wird dies ausschliesslich durch Software
realisiert: Es handelt sich um einen Programmteil von Core Wars.
Menü:
Das System des Amiga, bestimmte Aktionen durch herunterklappbare
Menustreifen auszuwählen (Pulldown-Menüs). Beim Programm Core Wars
werden Menüs im Editor und im Hauptprogramm verwendet.
Objektcode, Objektdatei:
Eine Datei, die ein von MARS ausführbares Kampfprogramm enthält. Der
Assembler erzeugt aus einem Quelltext den Objektcode, der dann in Form
einer Objektdatei in einen Massenspeicher geschrieben wird.
Programmzeiger:
Jedes aktive (laufende) Redcode-Programm besitzt einen Programmzeiger.
Dieser bestimmt die nächste, von MARS auszuführende Anweisung des
Programmes. Ein Programmzeiger ist nicht auf 'sein' Redcode-Programm
beschränkt, er kann vielmehr durch Sprunganweisungen wie JMP an
beliebige Stellen im Speicherfeld gesetzt werden.
Quellcode, Quelldatei, Quelltext:
Ein normaler Text, der ein Kampfprogramm enthält. Der Text wird mit dem
Editor geschrieben und muss vor der Ausführung durch MARS vom Assembler
in den Objektcode übersetzt werden.
Redcode:
Eine Programmiersprache, in der die Kampfprogramme geschrieben sind.
Sie hat ähnlichkeit mit Assembler, ist aber weit weniger komplex.
Redcode umfasst 10 Befehle, mit denen im Programm gesprungen, Vergleiche
ausgeführt und Speicherarithmetik betrieben werden kann. Normalerweise
wird ein Redcode-Programm vor der Bearbeitung durch MARS mit einem
Assembler in ausführbaren Objektcode übersetzt.
Space:
Die Leertaste, die normalerweise einen Zwischenraum in den Text einfügt.
Speicherfeld:
Der 8000 Zellen umfassende Bereich, in dem die Kampfprogramme ablaufen
können. Das Speicherfeld besitzt eine Ringförmige Struktur: Ein Zugriff
auf die Zelle Nr. 8000 kommt einem Zugriff auf Zelle Nr. 0 gleich.
Symbol:
Ein Name, der in einem Argument einer Redcode-Anweisung für einen
Zahlenwert steht. Der Zahlenwert ergibt sich aus der Zeilennummer, in
der das Symbol definiert wurde. Symbole machen einen Quelltext
übersichtlich und leichter verständlich. Ein Ausdruck in einer
Redcode-Anweisung kann aus mehreren Symbolen bestehen, die durch die
Operatoren + und - verknüpft werden.
Task:
Wenn sich ein Redcode-Programmzeiger durch einen SPL (Split)- Befehl in
zwei eigenständige Programmzeiger aufgeteilt hat, spricht man auch von
zwei Tasks. Jedes einzelne Redcode-Programm, das während einem Kampf
auf dem MARS-System läuft, ist ein Task.
Zelle:
Sie kann eine vollständige Redcode-Anweisung aufnehmen: Den Befehl, die
Argumente A und B sowie die Adressierungsmodi für die Argumente A und B.
Zellen können durch Redcode-Befehle verglichen, gelöscht und kopiert
werden.
Zyklus:
Ein Zyklus ist a) ein vollständiger Durchlauf einer Schleife in einem
Kampfprogramm oder b) Die Ausführung eines Befehles beider Beider
Programme, die gegeneinander Kämpfen. Die zweite Bedeutung wird bei der
Einstellung der anzahl Zyklen eines Kampfes verwendet.